import requests
from requests.auth import HTTPBasicAuth
# TODO 会话维持 Session对象
# s = requests.Session()
# s.get('http://httpbin.org/cookies/set/sessioncookie/123456789')
# r = s.get("http://httpbin.org/cookies")
# print(r.text)
# TODO  身份认证
#请将username和password替换成自己在该网站的登录用户名和密码
# res = requests.get('http://www.baidu.com', auth=HTTPBasicAuth('username', 'password'))
# print(res.status_code)
# TODO SSL证书验证 现在随处可见 https 开头的网站，Requests 可以为 HTTPS 请求验证 SSL 证书，就像 web 浏览器一样。要想检查某个主机的 SSL 证书，你可以使用 verify 参数 False 跳过检查
# r = requests.get('https://httpbin.org', verify=True)
# print(r.text)

# TODO  代理设置
# 代理设置 这里的两个地址都是编的，仅做示例用。如果你想跑起来的话需要换成有效代理 vpn
# proxies = {
#     'http': 'http://www.whaala.com/',
#     'https': 'https://www.whaala.com/'
# }
# requests.get('http://www.baidu.com', proxies=proxies)

# TODO  SOCKS
#  vpn
# proxies = {
#     'http': 'socks5://user:pass@host:port',
#     'https': 'socks5://user:pass@host:port'
# }
# requests.get('http://www.baidu.com', proxies=proxies)
# TODO  超时设置
# r = requests.get('https://github.com', timeout=5)
# connect 和 read 两部分时间
# r = requests.get('https://github.com', timeout=(3.05, 27))
# 远端服务器很慢，如果你想要 Request 一直等待服务器返回，那么可以给 timeout 赋值 None
r = requests.get('https://github.com', timeout=None)
print(r.text)